package licode.unisop.client.info;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 用户认证授权需要的信息
 *
 * @author WR
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SopAccessInfo {
    /**
     * 领域ID
     */
    private String realmId;

    /**
     * 租户ID
     */
    private String tenantId;

    /**
     * 平台令牌（平台注册时由认证中心生成）
     */
    private String platformId;

    /**
     * 登录用户的账号类型（比如普通账号、手机号码、邮箱、二维码等）
     */
    private String category;

    /**
     * 登录用户的账号
     */
    private String username;

    /**
     * 登录用户的认证密钥（比如密码、短信验证码、邮箱验证码等）
     */
    private String password;

    /**
     * 授权类型（支持OAuth2授权模式）
     */
    private String grantType;

    /**
     * 票据回调地址（支持OAuth2的授权码方式认证时用）
     */
    private String ticketUrl;

    /**
     * 认证成功后重定向的应用页面地址（一般不用）
     */
    private String redirectUrl;

    /**
     * 客户ID
     */
    private String clientId;

    /**
     * 客户密钥
     */
    private String clientSecret;

    /**
     * 终端类型
     */
    public String terminalId;

    /**
     * 客户编码
     */
    private String code;

    /**
     * 状态
     */
    private String state;

    /**
     * 权限范围
     */
    private String scope;

    /**
     * 验证码
     */
    private String captchaKey;
    private String captchaCode;

    /**
     * IP地址
     */
    private String ipAddr;
    private String userBrowser;
}
